Impairment detection system and method

ABSTRACT

A method, computer program product, and computing system for administering an alertness test on a client electronic device to determine a result for a user, wherein the result is indicative of a level of alertness of the user. Circadian information concerning the user is received. The result for the user is adjusted based, at least in part, upon the circadian information.

RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.62/351,665, filed on 17 Jun. 2016, entitled “Impairment DetectionSystems and Methods”, the contents of which are incorporated herein byreference.

TECHNICAL FIELD

This disclosure relates to detection systems and, more particularly, toimpairment detection systems.

BACKGROUND

Accidents in the workplace cost many millions of dollars, hundreds oflives, and damage to the environment every year, wherein the majority ofthese accidents are caused by human error. As is known, human error hasmany causes; one of which is impairment (e.g., due to lack of sleep,illness and/or the influence of drugs/alcohol).

In an effort to reduce accidents in the United States, 7.5 millionworkers in high-risk occupations are required to take random bloodand/or urine tests to deter the use of drugs and/or alcohol on the job.However, fatigue, illness and stress are more common causes ofimpairment than are the effects of drugs or alcohol. Accordingly,accidents continue to occur in large part because workers are impairedby e.g., exhaustion, stress, side-effects from prescription medicationsor from a combination of these factors.

SUMMARY OF DISCLOSURE Invention #12

In one implementation, a computer-implemented method is executed on acomputing device and includes administering an alertness test on aclient electronic device to determine a result for a user, wherein theresult is indicative of a level of alertness of the user. Circadianinformation concerning the user is received. The result for the user isadjusted based, at least in part, upon the circadian information.

One or more of the following features may be included. Administering thealertness test to the user may include rendering a plurality of objectsfor use within the alertness test being administered to the user. Adisrupter configured to distract the user may be rendered. A responsemay be solicited from the user concerning the plurality of objects. Theresponse may be received from the user. The result may be determined forthe user based, at least in part, upon the response received from theuser. The disrupter may include one or more of: a visual disrupter; anaudible disrupter; and a physical disrupter. The circadian informationmay concern historical sleep patterns of the user. The circadianinformation may be based, at least in part, upon biometric informationobtained from a biometric device. The circadian information may bebased, at least in part, upon a questionnaire. The circadian informationmay be based, at least in part, upon a work schedule for the user.

In another implementation, a computer program product resides on acomputer readable medium and has a plurality of instructions stored onit. When executed by a processor, the instructions cause the processorto perform operations including administering an alertness test on aclient electronic device to determine a result for a user, wherein theresult is indicative of a level of alertness of the user. Circadianinformation concerning the user is received. The result for the user isadjusted based, at least in part, upon the circadian information.

One or more of the following features may be included. Administering thealertness test to the user may include rendering a plurality of objectsfor use within the alertness test being administered to the user. Adisrupter configured to distract the user may be rendered. A responsemay be solicited from the user concerning the plurality of objects. Theresponse may be received from the user. The result may be determined forthe user based, at least in part, upon the response received from theuser. The disrupter may include one or more of: a visual disrupter; anaudible disrupter; and a physical disrupter. The circadian informationmay concern historical sleep patterns of the user. The circadianinformation may be based, at least in part, upon biometric informationobtained from a biometric device. The circadian information may bebased, at least in part, upon a questionnaire. The circadian informationmay be based, at least in part, upon a work schedule for the user.

In another implementation, a computing system includes a processor andmemory is configured to perform operations including administering analertness test on a client electronic device to determine a result for auser, wherein the result is indicative of a level of alertness of theuser. Circadian information concerning the user is received. The resultfor the user is adjusted based, at least in part, upon the circadianinformation.

One or more of the following features may be included. Administering thealertness test to the user may include rendering a plurality of objectsfor use within the alertness test being administered to the user. Adisrupter configured to distract the user may be rendered. A responsemay be solicited from the user concerning the plurality of objects. Theresponse may be received from the user. The result may be determined forthe user based, at least in part, upon the response received from theuser. The disrupter may include one or more of: a visual disrupter; anaudible disrupter; and a physical disrupter. The circadian informationmay concern historical sleep patterns of the user. The circadianinformation may be based, at least in part, upon biometric informationobtained from a biometric device. The circadian information may bebased, at least in part, upon a questionnaire. The circadian informationmay be based, at least in part, upon a work schedule for the user.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features andadvantages will become apparent from the description, the drawings, andthe claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatic view of a distributed computing networkincluding a computing device that executes an impairment detectionprocess according to an embodiment of the present disclosure;

FIG. 2 is a diagrammatic view of a client electronic device executingthe impairment detection process of FIG. 1 according to an embodiment ofthe present disclosure;

FIGS. 3A-3F are a diagrammatic views of display screens rendered by theimpairment detection process of FIG. 1 according to an embodiment of thepresent disclosure;

FIG. 4 is a flowchart of one embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure;

FIG. 5 is a flowchart of another embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure;

FIG. 6 is a flowchart of another embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure;

FIG. 7 is a flowchart of another embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure;

FIG. 8 is a flowchart of another embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure;

FIG. 9 is a flowchart of another embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure;

FIG. 10 is a flowchart of another embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure;and

FIG. 11 is a flowchart of another embodiment of the impairment detectionprocess of FIG. 1 according to an embodiment of the present disclosure.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

System Overview

In FIG. 1, there is shown impairment detection process 10. Impairmentdetection process 10 may be implemented as a server-side process, aclient-side process, or a hybrid server-side/client-side process.

For example, impairment detection process 10 may be implemented as apurely server-side process via impairment detection process 10 s.Alternatively, impairment detection process 10 may be implemented as apurely client-side process via one or more of impairment detectionprocess 10 c 1, impairment detection process 10 c 2, impairmentdetection process 10 c 3, and impairment detection process 10 c 4.Alternatively still, impairment detection process 10 may be implementedas a hybrid server-side/client-side process via impairment detectionprocess 10 s in combination with one or more of impairment detectionprocess 10 c 1, impairment detection process 10 c 2, impairmentdetection process 10 c 3, and impairment detection process 10 c 4.Accordingly, impairment detection process 10 as used in this disclosuremay include any combination of impairment detection process 10 s,impairment detection process 10 c 1, impairment detection process 10 c2, impairment detection process 10 c 3, and impairment detection process10 c 4.

Impairment detection process 10 s may be a server application and mayreside on and may be executed by computing device 12, which may beconnected to network 14 (e.g., the Internet or a local area network).Examples of computing device 12 may include, but are not limited to: apersonal computer, a server computer, a series of server computers, amini computer, a mainframe computer, or a cloud-based computing network.

The instruction sets and subroutines of impairment detection process 10s, which may be stored on storage device 16 coupled to computing device12, may be executed by one or more processors (not shown) and one ormore memory architectures (not shown) included within computing device12. Examples of storage device 16 may include but are not limited to: ahard disk drive; a RAID device; a random access memory (RAM); aread-only memory (ROM); and all forms of flash memory storage devices.

Network 14 may be connected to one or more secondary networks (e.g.,network 18), examples of which may include but are not limited to: alocal area network; a wide area network; or an intranet, for example.

Examples of impairment detection processes 10 c 1, 10 c 2, 10 c 3, 10 c4 may include but are not limited to a corporate user interface, a webbrowser, or a specialized application (e.g., an application running one.g., the Android™ platform or the iOS™ platform). The instruction setsand subroutines of impairment detection processes 10 c 1, 10 c 2, 10 c3, 10 c 4, which may be stored on storage devices 20, 22, 24, 26(respectively) coupled to client electronic devices 28, 30, 32, 34(respectively), may be executed by one or more processors (not shown)and one or more memory architectures (not shown) incorporated intoclient electronic devices 28, 30, 32, 34 (respectively). Examples ofstorage devices 20, 22, 24, 26 may include but are not limited to: harddisk drives; RAID devices; random access memories (RAM); read-onlymemories (ROM), and all forms of flash memory storage devices.

Examples of client electronic devices 28, 30, 32, 34 may include, butare not limited to: smartphone 28; laptop computer 30; specialty device32; personal computer 34; a notebook computer (not shown); a servercomputer (not shown); a dedicated network device (not shown); a tabletcomputer (not shown), a portion of an area access controller (not shownand configured to allow a user to gain access to a restricted area), aportion of an interlock controller (not shown and configured to allow auser to gain access to a piece of restricted equipment), a portion of acomputer access controller (not shown and configured to allow a user togain access to a restricted computing system) and/or a portion of atimeclock controller (not shown and configured to allow a user to loginto work).

Client electronic devices 28, 30, 32, 34 may each execute an operatingsystem, examples of which may include but are not limited to MicrosoftWindows™, Android™, iOS™, Linux™, or a custom operating system.

Users 36, 38, 40, 42 may access impairment detection process 10 directlythrough network 14 or through secondary network 18. Further, impairmentdetection process 10 may be connected to network 14 through secondarynetwork 18, as illustrated with link line 44.

The various client electronic devices (e.g., client electronic devices28, 30, 32, 34) may be directly or indirectly coupled to network 14 (ornetwork 18). For example, smartphone 28 and laptop computer 30 are shownwirelessly coupled to network 14 via wireless communication channels 44,46 (respectively) established between smartphone 28, laptop computer 30(respectively) and cellular network/bridge 48, which is shown directlycoupled to network 14. Further, specialty device 32 is shown wirelesslycoupled to network 14 via wireless communication channel 50 establishedbetween specialty device 32 and wireless access point (i.e., WAP) 52,which is shown directly coupled to network 14. Additionally, personalcomputer 34 is shown directly coupled to network 18 via a hardwirednetwork connection.

WAP 52 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, 802.11n,Wi-Fi, and/or Bluetooth device that is capable of establishing wirelesscommunication channel 50 between specialty device 32 and WAP 52. As isknown in the art, IEEE 802.11x specifications may use Ethernet protocoland carrier sense multiple access with collision avoidance (i.e.,CSMA/CA) for path sharing. The various 802.11x specifications may usephase-shift keying (i.e., PSK) modulation or complementary code keying(i.e., CCK) modulation, for example. As is known in the art, Bluetoothis a telecommunications industry specification that allows e.g., mobilephones, computers, and personal digital assistants to be interconnectedusing a short-range wireless connection.

Referring to FIG. 2, client electronic device 28, 30, 32, 34 (alone orin combination with computing device 12) may be configured to executeimpairment detection process 10 and implement an alertness test (e.g.,alertness test 100) to determine a result (e.g., result 102) for thetaker (e.g., user 36, 38, 40, 42) of alertness test 100. Result 102 maybe indicative of the level of alertness of the taker (e.g., user 36, 38,40, 42) of alertness test 100. Impairment detection process 10 may thendetermine if result 102 is sufficient to pass alertness test 100. Forexample and as will be discussed below in greater detail, result 102 maybe required to be at (or proximate) a baseline for the user of alertnesstest 100 to pass. If the user (e.g., user 36, 38, 40, 42) passesalertness test 100, a passcode (e.g., passcode 104) and other indicia(e.g., actual score, time of test, date of test) may be stored on one ormore storage devices.

One example of the one or more storage devices for storing passcode 104may include but is not limited to a centralized, network accessiblestorage device (e.g., storage device 16) in implementations in whichclient electronic devices 28, 30, 32, 34 are hardwired and/orwirelessly-coupled to computing device 12 via network 14 and/or network18.

Area access controller 106 (i.e., a device for allowing a user to gainaccess to a restricted area), interlock controller 108 (i.e., a devicefor allowing a user to gain access to a piece of restricted equipment),computer access controller 110 (i.e., a device for allowing a user togain access to a restricted computing system) and/or timeclockcontroller 112 (i.e., a device for allowing a user to log into work) maybe hardwired and/or wirelessly-coupled to network 14, network 18 and/orclient electronic devices 28, 30, 32, 34 (which may execute impairmentdetection process 10). Area access controller 106, interlock controller108, computer access controller 110 and/or timeclock controller 112 maybe configured to access/obtain the above-described passcode (e.g.,passcode 104) from e.g., storage device 16.

An example of area access controller 106 may include but is not limitedto Dortronics of Sag Harbor, N.Y. An example of interlock controller 108may include but is not limited to products offered by Trimble ofSunnyvale Calif. An example of computer access controller 110 mayinclude but is not limited to products offered by Tyco of Cork, Ireland.An example of timeclock controller 112 may include but is not limited toproducts offered by Tyco of Cork, Ireland.

Additionally/alternatively, electronic devices 28, 30, 32, 34 (i.e., thedevices that execute impairment detection process 10 and implementalertness test 100) may be directly coupled to, wirelessly coupled to,included within and/or a portion of area access controller 106,interlock controller 108, computer access controller 110 and/or atimeclock controller 112.

Another example of the one or more storage devices for storing passcode104 may include but is not limited to a datacard (e.g., datacard 114) ofthe user (e.g., user 36, 38, 40, 42), wherein datacard 114 (which e.g.,includes passcode 104) may subsequently be utilized to e.g., gain accessto a restricted area via area access controller 106, gain access to apiece of restricted equipment via interlock controller 108, gain accessto a restricted computing system via computer access controller 110and/or log into work via timeclock controller 112. Examples of datacard114 may include but are not limited to an electrical or optical smartcard, an electrical or optical identification badge, and an electricalor optical identification bracelet,

Centralized Testing with Datacard Storage:

Impairment detection process 10 may be configured to implementcentralized testing of alertness test 100. For example, impairmentdetection process 10 and alertness test 100 may be executed on one ormore centralized testing computers (e.g., personal computer 34). Duringuse, employees of a company may insert their datacard 114 into personalcomputer 34, which may be configured to read data from (and write datato) datacard 114. Personal computer 34 and impairment detection process10 may be configured to implement an alertness test (e.g., alertnesstest 100) on personal computer 34. Impairment detection process 10 maydetermine a result (e.g., result 102) for the test taker (e.g., user 36,38, 40, 42) and may determine if result 102 is sufficient to passalertness test 100.

In such a centralized testing configuration, result 102 may be stored ondatacard 114 by personal computer 34. If result 102 is sufficient toallow the user (e.g., user 36, 38, 40, 42) to pass alertness test 100,passcode 104 may also be stored on datacard 114. Other indicia may alsobe stored on datacard 114, examples of which may include but are notlimited to: the actual test score, the time of the test, the date oftest, a user name, a user identification number, a company name, asecurity level, a date of hire, a testing level, and a test type.

Specifically and in such a centralized testing configuration, the user(e.g., user 36, 38, 40, 42) may take datacard 114 with them once theadministration of alertness test 100 has been completed. Datacard 114(which may include passcode 104) may then be utilized by the user (e.g.,user 36, 38, 40, 42) to gain access to various restricted locations,restricted devices and/or restricted equipment. For example, datacard114 may be inserted into, accessed and read by:

-   -   area access controller 106 (which may be configured to read        datacard 114) to determine if the user (e.g., user 36, 38, 40,        42) should be allowed to access a restricted area, such as a        control room at a nuclear power plant or a weapon room within a        military base;    -   interlock controller 108 (which may be configured to read        datacard 114) to determine if the user (e.g., user 36, 38, 40,        42) should be allowed to gain access a piece of restricted        equipment, such as a piece of heavy construction equipment or a        piece of aviation equipment;    -   computer access controller 110 (which may be configured to read        datacard 114) to determine if the user (e.g., user 36, 38, 40,        42) should be allowed to access a restricted computing system,        certain applications within the restricted computing system        and/or certain data within the restricted computing system, such        as a computer system that allows access to a company's database        or a computer system that that allows access to a weapons        control platform; and/or    -   timeclock controller 112 (which may be configured to read        datacard 114) to determine if the user (e.g., user 36, 38, 40,        42) should be allowed to log into their job, such as a job as an        assembly line worker or a job as a construction worker.

Centralized Testing with Centralized Storage:

As discussed above, impairment detection process 10 may be configured toimplement centralized testing of alertness test 100. For example,impairment detection process 10 and alertness test 100 may be executedon one or more centralized testing computers (e.g., personal computer34), wherein these one or more centralized testing computers (e.g.,personal computer 34) may be coupled to a centralized, networkaccessible storage device (e.g., storage device 16). During use,personal computer 34 and impairment detection process 10 (alone or incombination with computing device 12) may be configured to execute analertness test (e.g., alertness test 100). Impairment detection process10 may determine a result (e.g., result 102) for the test taker (e.g.,user 36, 38, 40, 42) and may determine if result 102 is sufficient topass alertness test 100.

In such a centralized testing configuration, result 102 may be stored ona centralized, network accessible storage device (e.g., storage device16). If result 102 is sufficient to allow the user (e.g., user 36, 38,40, 42) to pass alertness test 100, passcode 104 and other indicia (suchas the actual score, the time of the test, the date of test, etc.) mayalso be stored on the centralized, network accessible storage device(e.g., storage device 16). In the event that the centralized, networkaccessible storage device (e.g., storage device 16) isunavailable/offline, the above-described information may be storedlocally until the remote storage (e.g., storage device 16) is once againavailable/online.

Specifically and in such a centralized testing configuration, thecentralized, network accessible storage device (e.g., storage device 16)may be accessed so that e.g., result 102, passcode 104 and other indiciamay be obtained for the user (e.g., user 36, 38, 40, 42) when the userwishes to gain access to various restricted locations, restricteddevices and/or restricted equipment. For example, the user (e.g., user36, 38, 40, 42) may identify themselves (via e.g., an ID card, anemployee number, a fingerprint scan, a retinal scan, etc.) and:

-   -   area access controller 106 (which may be coupled to storage        device 16) may determine if the user (e.g., user 36, 38, 40, 42)        should be allowed to access a restricted area, such as a control        room at a nuclear power plant or a weapon room within a military        base;    -   interlock controller 108 (which may be coupled to storage device        16) may determine if the user (e.g., user 36, 38, 40, 42) should        be allowed to gain access a piece of restricted equipment, such        as a piece of heavy construction equipment or a piece of        aviation equipment;    -   computer access controller 110 (which may be coupled to storage        device 16) may determine if the user (e.g., user 36, 38, 40, 42)        should be allowed to access a restricted computing system,        certain applications within the restricted computing system        and/or certain data within the restricted computing system, such        as a computer system that allows access to a company's database        or a computer system that allows access to a weapons control        system; and/or    -   timeclock controller 112 (which may be coupled to storage device        16) may determine if the user (e.g., user 36, 38, 40, 42) should        be allowed to log into their job, such as a job as an assembly        line worker or a job as a construction worker.

Localized Testing with Datacard Storage:

Impairment detection process 10 may be configured to implement localizedtesting of alertness test 100. As discussed above, electronic devices28, 30, 32, 34 (i.e., the devices that implement alertness test 100) maybe directly coupled to, wirelessly coupled to, included within and/or aportion of area access controller 106, interlock controller 108,computer access controller 110 and/or a timeclock controller 112.

Accordingly, in addition to allowing a user to gain access to arestricted area, area access controller 106 may also be configured toexecute impairment detection process 10 and implement alertness test100. And in addition to allowing a user to gain access to a piece ofrestricted equipment, interlock controller 108 may also be configured toexecute impairment detection process 10 and alertness test 100. Further,in addition to allowing a user to gain access to a restricted computingsystem, computer access controller 110 may also be configured to executeimpairment detection process 10 and implement alertness test 100.Further still, in addition to allowing a user to log into work,timeclock controller 112 may also be configured to execute impairmentdetection process 10 and implement alertness test 100.

Accordingly and in such a configuration, a separate and discretealertness test 100 may need to be implemented each time the user (e.g.,user 36, 38, 40, 42) wishes to gain access to various restrictedlocations, restricted devices and/or restricted equipment. So if theuser (e.g., user 36, 38, 40, 42) wishes to gain access to a controlroom, area access controller 106 may be configured to execute impairmentdetection process 10 and implement alertness test 100 for the user(e.g., user 36, 38, 40, 42) to determine if the user may enter thecontrol room. If the user (e.g., user 36, 38, 40, 42) leaves the controlroom and then wishes to utilize a bulldozer, interlock controller 108may be configured to execute impairment detection process 10 andimplement alertness test 100 for the user (e.g., user 36, 38, 40, 42) todetermine if the user may utilize the bulldozer. If the user (e.g., user36, 38, 40, 42) has completed using the bulldozer and then wishes toaccess the payroll system for the company with which they are employed,timeclock controller 112 may be configured to execute impairmentdetection process 10 and implement alertness test 100 for the user(e.g., user 36, 38, 40, 42) to determine if the user may access thepayroll system for the company with which they are employed.

When executing the above-described impairment detection process 10 andimplementing alertness test 100, employees of a company may insert theirdatacard 114 into e.g., the above-described area access controller 106,interlock controller 108, computer access controller 110 and/ortimeclock controller 112, each of which may be configured to read datafrom (and write data to) datacard 114. In such an implementation, areaaccess controller 106, interlock controller 108, computer accesscontroller 110 and/or timeclock controller 112 may then implementalertness test 100. Impairment detection process 10 may determine aresult (e.g., result 102) for the test taker (e.g., user 36, 38, 40, 42)and may determine if result 102 is sufficient to pass alertness test100, wherein result 102 may be stored on datacard 114. If result 102 issufficient to allow the user (e.g., user 36, 38, 40, 42) to passalertness test 100, passcode 104 and other indicia (such as the actualscore, the time of the test, the date of test, etc.) may also be storedon datacard 114.

Further and in such a localized testing configuration, the user (e.g.,user 36, 38, 40, 42) may take datacard 114 with them once theadministration of alertness test 100 has been completed, so thatdatacard 114 may be utilized when additional testing is required todetermine if the user (e.g., user 36, 38, 40, 42) should be allowed togain access to other restricted locations, restricted devices and/orrestricted equipment. Additionally, datacard 114 may be configured topermanently (or semi-permanently) store result 102, passcode 104 and anyother indicia.

Localized Testing with Centralized Storage:

As discussed above, impairment detection process 10 may be configured toimplement localized testing of alertness test 100. As discussed above,in addition to allowing a user to gain access to a restricted area, areaaccess controller 106 may also be configured to execute impairmentdetection process 10 and implement alertness test 100. And in additionto allowing a user to gain access to a piece of restricted equipment,interlock controller 108 may also be configured to execute impairmentdetection process 10 and implement alertness test 100. Further, inaddition to allowing a user to gain access to a restricted computingsystem, computer access controller 110 may also be configured to executeimpairment detection process 10 and implement alertness test 100.Further still, in addition to allowing a user to log into work,timeclock controller 112 may also be configured to execute impairmentdetection process 10 and implement alertness test 100.

Further and as discussed above, a separate and discrete alertness test100 may need to be implemented each time the user (e.g., user 36, 38,40, 42) wishes to gain access to various restricted locations,restricted devices and/or restricted equipment (e.g., a first test whenthe user wishes to gain access to a control room, a second test when theuser wishes to utilize a bulldozer, and a third test when the userwishes to access the payroll system for the company with which they areemployed).

In such an implementation, area access controller 106, interlockcontroller 108, computer access controller 110 and timeclock controller112 may be coupled to a centralized, network accessible storage device(e.g., storage device 16). Further, area access controller 106,interlock controller 108, computer access controller 110 and/ortimeclock controller 112 may execute alertness test 100 and impairmentdetection process 10 may determine a result (e.g., result 102) for thetest taker (e.g., user 36, 38, 40, 42) and may determine if result 102is sufficient to pass alertness test 100. Result 102 may be stored onthe centralized, network accessible storage device (e.g., storage device16). If result 102 is sufficient to allow the user (e.g., user 36, 38,40, 42) to pass alertness test 100, passcode 104 and other indicia (suchas the actual score, the time of the test, the date of test, etc.) mayalso be stored on the centralized, network accessible storage device(e.g., storage device 16). Additionally, the centralized, networkaccessible storage device (e.g., storage device 16) may be configured topermanently (or semi-permanently) store result 102, passcode 104 and anyother indicia. In the event that the centralized, network accessiblestorage device (e.g., storage device 16) is unavailable/offline, theabove-described information may be stored locally until the remotestorage (e.g., storage device 16) is once again available/online.

General Implementations:

Impairment detection process 10 may implement alertness test 100 as avideo-based/movement-based test. Alertness test 100 may be administeredto the user (e.g., user 36, 38, 40, 42) in various configurations,wherein some configurations may take longer to complete and otherconfigurations may be completed comparatively quickly (e.g., in oneminute or less). Additionally and if the user (e.g., user 36, 38, 40,42) performs particularly well on a given day, impairment detectionprocess 10 may be configured to provide the user (e.g., user 36, 38, 40,42) with a passing score after a shortened test period (thus allowingthe user to complete alertness test 100 early).

Impairment detection process 10 may render the test result (e.g., result102) of the user (e.g., user 36, 38, 40, 42) on a display screen (e.g.,display screen 116) of client electronic device 28, 30, 32, 34. Result102 may then be saved on a centralized, network accessible storagedevice (e.g., storage device 16) or datacard 114. Accordingly, clientelectronic devices 28, 30, 32, 34 may be configured to be coupled tostorage device 16 and/or configured to be coupled to card reader 118.

In one implementation, impairment detection process 10 may be configuredto allow the user (e.g., user 36, 38, 40, 42) to immediately retakealertness test 100 in the event that the user (e.g., user 36, 38, 40,42) fails alertness test 100. In other implementations, impairmentdetection process 10 may be configured to prevent the user (e.g., user36, 38, 40, 42) from immediately retaking alertness test 100 in theevent that the user (e.g., user 36, 38, 40, 42) fails alertness test100.

In configurations that utilize a datacard, when initially insertingdatacard 114 into card reader 118 of client electronic device 28, 30,32, 34, impairment detection process 10 may determine whether datacard114 is invalid/unreadable/malfunctioning. In the event that datacard 114is invalid/unreadable/malfunctioning, impairment detection process 10may render an error message on display screen 116.

In configurations that utilize centralized storage, the user (e.g., user36, 38, 40, 42) may identify themselves (via e.g., an ID card, anemployee number, a fingerprint scan, a retinal scan, etc.) on clientelectronic device 28, 30, 32, 34 and impairment detection process 10 maydetermine that storage device 16 is accessible. In the event thatstorage device 16 is not accessible, impairment detection process 10 mayrender an error message on display screen 116.

Assuming that datacard 114 is valid and readable and/or storage device16 is accessible; upon completion of alertness test 100, impairmentdetection process 10 may be configured to render on display screen 116an alertness gauge (e.g., alertness gauge 120) that may be configured tographically display a score of the user (e.g., user 36, 38, 40, 42)relative to the baseline (e.g., a passing grade) for alertness test 100.

For example, impairment detection process 10 and alertness gauge 120 maybe configured to textually render a numeric score 122 of the user (e.g.,user 36, 38, 40, 42) on display screen 116. Additionally/alternatively,impairment detection process 10 and alertness gauge 120 may beconfigured to graphically render a score (e.g., arrow 124) of the user(e.g., user 36, 38, 40, 42) relative to an absolute pass/fail line(e.g., pass/fail line 126) that defines the passing range of scores andthe failing range of scores. Accordingly, all feedback and indicatorsrendered by impairment detection process 10 may be provided in variousforms, examples of which may include but are not limited to e.g.,text-based indicia (e.g., numeric score 122), graphical indicia (e.g.,arrow 124) and/or graphical symbols (e.g., thumbs up symbol 128 or athumbs down symbol (not shown)).

Alertness Test Implementations:

As will be discussed below in greater detail, alertness test 100 may beimplemented in various fashions that require the user (e.g., user 36,38, 40, 42) to examine objects to determine whether the displayedobjects match.

The particular manner in which alertness test 100 is implemented mayvary depending upon e.g., the type of processor/memory included withinclient electronic device 28, 30, 32, 34, the type of display includedwithin client electronic device 28, 30, 32, 34, and the type of networkconnection available to client electronic device 28, 30, 32, 34.Examples of the types of alertness tests (e.g., alertness test 100) thatimpairment detection process 10 may implement may include but are notlimited to:

-   -   Referring also to FIG. 3A and FIG. 4, there is shown an        implementation of alertness test 100 that includes a pair of        static objects (e.g., objects 200, 202) that are rendered 300 by        impairment detection process 10, wherein the pair of static        objects (e.g., objects 200, 202) may or may not be different. In        such an implementation, impairment detection process 10 may        solicit 302 a response from the user (e.g., user 36, 38, 40, 42)        and the user may be required to indicate whether the pair of        static objects (e.g., objects 200, 202) are identical by        pressing YES buttons 204 or NO button 206. This response may be        received 304 by impairment detection process 10 from the user        (e.g., user 36, 38, 40, 42). Examples of YES buttons 204 or NO        button 206 may include but are not limited to physical (i.e.,        mechanical) buttons and soft buttons (selectable via e.g., a        touchscreen, a stylus or a mouse).    -   Referring also to FIG. 3B and FIG. 4, there is shown an        implementation of alertness test 300 that includes three or more        static objects (e.g., objects 208, 210, 212) that are rendered        300 by impairment detection process 10, wherein one of the three        or more static objects (e.g., objects 208, 210, 212) may be        different. In such an implementation, impairment detection        process 10 may solicit 302 a response from the user (e.g., user        36, 38, 40, 42) and the user may be required to identify the        static object that is different by selecting it (e.g., via a        touch command, a stylus or a mouse click) or the user (e.g.,        user 36, 38, 40, 42) may select “They're All the Same” button        214 (e.g., via a touch command, a stylus or a mouse click). This        response may be received 304 by impairment detection process 10        from the user (e.g., user 36, 38, 40, 42).    -   Referring also to FIG. 3C and FIG. 4, there is shown an        implementation of alertness test 300 that includes a pair of        moving objects (e.g., objects 216, 218) that are rendered 300 by        impairment detection process 10, wherein the pair of moving        objects (e.g., objects 216, 218) may or may not be different.        This pair of moving objects (e.g., objects 216, 218) may be        e.g., rotating with respect to themselves, rotating with respect        to each other, sliding around display screen 116, or a        combination of thereof. In such an implementation, impairment        detection process 10 may solicit 302 a response from the user        (e.g., user 36, 38, 40, 42) and the user may be required to        indicate whether the pair of moving objects (e.g., objects 216,        218) are identical by pressing YES buttons 220 or NO button 222.        This response may be received 304 by impairment detection        process 10 from the user (e.g., user 36, 38, 40, 42). Examples        of YES buttons 220 or NO button 222 may include but are not        limited to physical (i.e., mechanical) buttons and soft buttons        (selectable via e.g., a touchscreen, a stylus or a mouse).    -   Referring also to FIG. 3D and FIG. 4, there is shown an        implementation of alertness test 300 that includes three or more        moving objects (e.g., objects 224, 226, 228) that are rendered        300 by impairment detection process 10, wherein one of the three        or more moving objects (e.g., objects 224, 226, 228) may be        different. These moving objects (e.g., objects 224, 226, 228)        may be e.g., rotating with respect to themselves, rotating with        respect to each other, sliding around display screen 116, or a        combination of thereof. In such an implementation, impairment        detection process 10 may solicit 302 a response from the user        (e.g., user 36, 38, 40, 42) and the user may be required to        identify the moving object that is different by selecting it        (e.g., via a touch command, a stylus or a mouse click) or the        user (e.g., user 36, 38, 40, 42) may select “They're All the        Same” button 230 (e.g., via a touch command, a stylus or a mouse        click). This response may be received 304 by impairment        detection process 10 from the user (e.g., user 36, 38, 40, 42).    -   Referring also to FIG. 3E and FIG. 4, there is shown an        implementation of alertness test 300 that includes a disrupter        (e.g., disrupter 232) rendered 306 by impairment detection        process 10. In this particular embodiment, disrupter 232 may be        configured to rotate. Additionally and in this implementation,        alertness test 100 is shown to include five objects that may be        configured to remain static, rotate with respect to themselves,        rotate with respect to each other, slide around display screen        116, or any combination thereof. In this particular        implementation, disrupter 232 may be configured to distract the        user (e.g., user 36, 38, 40, 42). For example, disrupter 232 may        be configured to change color, change shape, change rotational        direction, change rotational speed, etc. Accordingly and in this        implementation, disrupter 232 may temporarily obscure one or        more of the five objects included within this embodiment of        alertness test 100. In such an implementation, impairment        detection process 10 may solicit 302 a response from the user        (e.g., user 36, 38, 40, 42) and the user may be required to        identify the object that is different by selecting it (e.g., via        a touch command, a stylus or a mouse click) or the user (e.g.,        user 36, 38, 40, 42) may select “They're All the Same” button        234 (e.g., via a touch command, a stylus or a mouse click). This        response may be received 304 by impairment detection process 10        from the user (e.g., user 36, 38, 40, 42).    -   Referring also to FIG. 3F and FIG. 4, there is shown another        implementation of alertness test 300 that includes a disrupter        (e.g., disrupter 236) rendered 306 by impairment detection        process 10. In this particular embodiment, disrupter 236 may be        configured to rotate. Additionally and in this implementation,        alertness test 100 is shown to include five objects that may be        configured to remain static, rotate with respect to themselves,        rotate with respect to each other, slide around display screen        116, or any combination thereof. In this particular        implementation, disrupter 236 may be configured to distract the        user (e.g., user 36, 38, 40, 42). For example, disrupter 236 may        be configured to change color, change shape, change rotational        direction, change rotational speed, etc. Accordingly and in this        implementation, disrupter 236 may temporarily obscure one or        more of the five objects included within this embodiment of        alertness test 100. In such an implementation, impairment        detection process 10 may solicit 302 a response from the user        (e.g., user 36, 38, 40, 42) and the user may be required to        identify the object that is different by selecting it (e.g., via        a touch command, a stylus or a mouse click) or the user (e.g.,        user 36, 38, 40, 42) may select “They're All the Same” button        238 (e.g., via a touch command, a stylus or a mouse click). This        response may be received 304 by impairment detection process 10        from the user (e.g., user 36, 38, 40, 42).

While the above-described disrupters (e.g., disrupters 232, 236) areshown as being a propeller, this is for illustrative purposes only andis not intended to be a limitation of this disclosure. For example,these disrupters may also include other visually-disruptive effects,such as any combination of areas of changing background color of displayscreen 116, areas of moving visual distortion of display screen 116,areas of blanking/saturating/washing of display screen 116, areas ofvariable and/or user-definable transparency, and the use of animatedcharacters/images/overlays on display screen 116.Additionally/alternatively, these disrupters may also includeaudibly-disruptive components, such as any combination of disruptingsounds (e.g., ring tones, clicking sounds, screaming, crying),disrupting music, disrupting conversations/language/spoken words, anddisrupting noise. Additionally/alternatively, these disrupters may alsoinclude physically-disruptive components, such as any combination ofvibrations/haptic feedback. Additionally/alternatively, these disruptersmay also include temporally-disruptive components, such as the renderingof a first object, followed by the blanking of display screen 116 tointroduce a delay for a defined period of time, followed by therendering of a plurality of objects from which the user needs to choosethe one object that matches the previously-rendered object. Accordingly,a disruptor (e.g., disrupters 232, 236) may be any combination ofvisually-disruptive elements, audibly-disruptive elements,physically-disruptive elements, and/or temporally-disruptive elementsthat is designed to confuse/distract/disorient/annoy the user (e.g.,user 36, 38, 40, 42) and make it more difficult for them to focus onachieving a desired task (e.g., such as the examination of objects).

The various buttons described above (e.g., buttons 204, 206, 214, 220,222, 230, 234, 238) may be spaced far enough apart to allow the users(e.g., user 36, 38, 40, 42) to use either one or both hands to respond,wherein buttons 204, 206, 214, 220, 222, 230, 234, 238 may be largeenough (or configured) to be used while e.g., wearing gloves.

The enclosure of client electronic device 28, 30, 32, 34 may beconfigured in various manners depending upon the particularimplementation of the device. For example, if the client electronicdevice (e.g., client electronic device 28, 30, 32, 34) is a specialtydevice (e.g., specialty device 32), the enclosure may be wall-mounted.Alternatively, one or more of client electronic device 28, 30, 32, 34may be positioned on a piece of furniture, mounted within a vehicle,mounted within a piece of construction equipment, mounted within a pieceof aviation equipment, mounted to a piece of assembly line equipment,mounted to a piece of mechanical equipment, mounted on an access door,mounted on an access panel, or attached to a computing device, forexample.

Operation of Alertness Test:

The following discussion concerns the general operation of impairmentdetection process 10 and the implementation of alertness test 100. Theidentity of the user (e.g., user 36, 38, 40, 42) and (if available) anybaseline performance data may be read by impairment detection process 10from e.g., centralized, network accessible storage device (e.g., storagedevice 16) or datacard 114 (when inserted into datacard reader 118). Anexample of a baseline for a user (e.g., user 36, 38, 40, 42) may includebut is not limited to a measure of the normal daily level of alertnessand mental fitness of the user. For example, a baseline for a user(e.g., user 36, 38, 40, 42) may be the average of the last ten, twentyor fifty test results (e.g., result 102) determined 308 by impairmentdetection process 10. Naturally, as a user performs additional testing,this baseline may change as newer test results determined 308 byimpairment detection process 10 may be added to the baseline calculationand older test results may be removed from the baseline calculation.

When a baseline is being established for a user (e.g., user 36, 38, 40,42), data may be read from and/or written to e.g., centralized, networkaccessible storage device (e.g., storage device 16) or datacard 114.Once the baseline is established, this baseline may be accessed at thestart of each test (e.g., alertness test 100) and may be used forcomparison to the test results (e.g., result 102) determined 308 byimpairment detection process 100 for the user (e.g., user 36, 38, 40,42) to determine whether a user is alert enough to performs a specifictask.

Alternatively and in some situations, the use of a baseline may not bepractical/possible when determining if someone has the requisite levelof alertness to perform a task. For example, a roadside alertness testperformed at a police checkpoint may not allow the use of a baseline, asthe people being tested are random strangers and, therefore, there is notesting history from which a baseline may be calculated. Accordingly andin such situations, a simple pass/fail determine may be made byrequiring the user (e.g., user 36, 38, 40, 42) to get 70% of thequestions correct.

As discussed above, once the administration of alertness test 100 hasbeen completed and if the user (e.g., user 36, 38, 40, 42) passesalertness test 100, pass code 104 and other indicia (e.g., actual score,time of test, date of test) may be stored on one or more storage devices(e.g., storage device 16 and/or datacard 114). Conversely, if the user(e.g., user 36, 38, 40, 42) fails alertness test 100, impairmentdetection process 10 may write a fail code (or no code) to the one ormore storage devices (e.g., storage device 16 and/or datacard 114).

When data (e.g., a pass code, a fail code or other indicia) is writtento the storage device (e.g., storage device 16 or datacard 114), thedata may be stored permanently or temporarily. For example and whenpermanently stored, the data may be maintained indefinitely untilpurposefully deleted. Alternatively and when temporarily stored, thedata may be maintained for a defined period of time (e.g., a minute, anhour, a day, a week) and then automatically deleted.

Impairment detection process 10 may be configured to perform afundamental screening and baselining of users via alertness test 100 toidentify those users who are significantly below, at, or significantlyabove their own normal daily level of alertness and mental fitness(i.e., their baseline). Additionally, alertness test 100 may beconfigured to test for broad-based, generalized alertness, to test forspecific types of alertness, and/or to test for alertness concerning aspecific task. Additionally, impairment detection process 10 may beconfigured to establish a baseline for each type of task that a user mayperform, wherein these multiple baselines may be configured to bebuilding blocks/prerequisites of each other, or standalonetests/baselines. For example, the same construction work may be requiredto have a higher level of alertness when operating a crane then whendriving a pickup truck.

Generally, impairment detection process 10 and alertness test 100 may beconfigured to determine a user's level of visual perception, informationprocessing, focused attention, decision-making, and eye-handcoordination, wherein these levels may indicate the level of generalalertness and mental fitness for a user. Accordingly, the failing ofalertness test 100 may indicates that the user has a level of alertnessthat is reduced to a level below a predefined percentage of their normalbaseline.

Short Term Memory Testing:

As discussed above, impairment detection process 10 may be configured toadminister various implementations of alertness test 100, wherein one ormore objects may be rendered and a response may be solicited from a user(e.g., user 36, 38, 40, 42) concerning the rendered objects. Thesevarious implementations of alertness test 100 may be configured toaccomplish many different tasks. For example, impairment detectionprocess 10 may administer an implementation of alertness test 100 thatis configured to test short term memory.

Referring also to FIG. 5, impairment detection process 10 may render 350a first group of objects for use within alertness test 100 beingadministered to a user (e.g., user 36, 38, 40, 42). The first group ofobjects may include a single object. For example, impairment detectionprocess 10 may render 350 a single object on display screen 116 (in afashion similar to the objects shown in FIGS. 3A-3F).

Impairment detection process 10 may then render 352 a disrupterconfigured to introduce a delay for a defined period of time. Oneexample of this disrupter may include but is not limited to blankingdisplay screen 116 associated with alertness test 100 for the definedperiod of time. Examples of this defined period of time may vary fromseconds to hours depending upon the implementation of alertness test100, and, during this defined period of time, the shape previouslyrendered 350 is not shown.

Another example of this disrupter may include any of the disruptersdefined above, such as any combination of visually-disruptive elements,audibly-disruptive elements, physically-disruptive elements, and/ortemporally-disruptive elements that is designed toconfuse/distract/disorient/annoy the user (e.g., user 36, 38, 40, 42)and make it more difficult for them to focus on achieving a desiredtask.

Impairment detection process 10 may then render 354 a second group ofobjects for use within alertness test 100 being administered to the user(e.g., user 36, 38, 40, 42). This second group of objects may include aplurality of objects. For example, impairment detection process 10 mayrender 354 a group of e.g., three to six objects on display screen 116(in a fashion similar to the objects shown in FIGS. 3A-3F).

Impairment detection process 10 may then solicit 356 a response from theuser (e.g., user 36, 38, 40, 42) concerning the first group of objectsrendered 350 or the second group of objects rendered 354. Soliciting 356a response from the user (e.g., user 36, 38, 40, 42) may includerequiring 358 the user to identify an object (chosen from the pluralityof objects in the second group of objects) that matches the singleobject in the first group of objects. For example, the user (e.g., user36, 38, 40, 42) may be required to identify the matching object byselecting it (e.g., via a touch command, a stylus or a mouse click).

This response may be received 360 by impairment detection process 10from the user (e.g., user 36, 38, 40, 42) and impairment detectionprocess 10 may then determine 362 a result for the user (e.g., user 36,38, 40, 42) based, at least in part, upon the response received from theuser (in a fashion similar to that described above).

Adaptive Alertness Testing:

As discussed above, impairment detection process 10 may be configured toadminister various implementations of alertness test 100. Further andwhen administering alertness test 10, impairment detection process 10may: render a plurality of objects for use within alertness test 100being administered to a user (e.g., user 36, 38, 40, 42); render adisrupter (e.g., disrupter 232, 236) configured to distract the user;solicit a response from the user concerning the plurality of objects;receive the response from the user; and determine a result for the userbased (at least in part) upon the response received from the user.Further, alertness test 100 (or portions thereof, such as theabove-described disrupters) may be adaptive in nature and may beadjustable based upon environmental variables concerning the clientelectronic device administering alertness test 100 or the user takingadministrative test 100. Examples of such environmental variables mayinclude but are not limited to: local time, elapsed time, location ofthe user/device, sound proximate the user/device, lighting conditionsproximate the user/device, temperature proximate the user/device,humidity proximate the user/device, the presence/concentration ofgas(es) proximate the user/device, etc.

Specifically and referring also to FIG. 6, impairment detection process10 may monitor 400 one or more environmental variables concerning aclient electronic device (e.g., client electronic device 28, 30, 32, 34)configured to administer alertness test 100 to a user (e.g., user 36,38, 40, 42). Impairment detection process 10 may select 402 a disrupterfor inclusion within alertness test 100 based, at least in part, uponthe environmental variables concerning the client electronic device(e.g., client electronic device 28, 30, 32, 34). Impairment detectionprocess 10 may then administer 404 alertness test 100 to the user (e.g.,user 36, 38, 40, 42), wherein the alertness test administered includesthe selected disrupter.

Accordingly and when monitoring 400 environmental variables concerningthe client electronic device, impairment detection process 10 maymonitor e.g., the camera, the microphone, and/or the GPS chipset ofclient electronic device 28, 30, 32, 34 and may select 402 a disrupterfor inclusion within alertness test 100 based, at least in part, uponthe environmental variables monitored 400 concerning the clientelectronic device (e.g., client electronic device 28, 30, 32, 34).

For example, impairment detection process 10 may monitor 400 themicrophone included within the client electronic device and, when theuser (e.g., user 36, 38, 40, 42) is in a noisy environment, impairmentdetection process 10 may select 402 a visual disrupter. Conversely andwhen the user (e.g., user 36, 38, 40, 42) is in a quiet environment,impairment detection process 10 may select 402 an audible disrupter.Impairment detection process 10 may then administer 404 alertness test100 to the user.

Additionally, impairment detection process 10 may monitor 400 the cameraincluded within the client electronic device and, when the user (e.g.,user 36, 38, 40, 42) is in a dark environment, impairment detectionprocess 10 may select 402 a bright visual disrupter. Impairmentdetection process 10 may then administer 404 alertness test 100 to theuser.

Further, impairment detection process 10 may monitor 400 the GPS chipsetincluded within the client electronic device to determine the locationof the client electronic device. And when using disruptingconversations/language/spoken words, impairment detection process 10 maydetermine the native language of the location and may select 402 adisrupter (that includes conversations/language/spoken words) in thenative language (to prevent the disrupting conversations/language/spokenwords from being mentally-dismissed as background noise). Impairmentdetection process 10 may then administer 404 alertness test 100 to theuser.

Further and referring also to FIG. 7, impairment detection process 10may monitor 450 one or more environmental variables concerning a user(e.g., user 36, 38, 40, 42) of a client electronic device (e.g., clientelectronic device 28, 30, 32, 34) configured to administer alertnesstest 100. Impairment detection process 10 may select 452 a disrupter forinclusion within alertness test 100 based, at least in part, upon theenvironmental variables concerning the user. Impairment detectionprocess 10 may then administer 454 alertness test 100 to the user (e.g.,user 36, 38, 40, 42), wherein the alertness test administered includesthe selected disrupter.

Accordingly and when monitoring 450 environmental variables concerningthe user, impairment detection process 10 may monitor e.g., the clock,the camera and/or the GPS chipset of client electronic device 28, 30,32, 34 and may select 452 a disrupter for inclusion within alertnesstest 100 based, at least in part, upon the environmental variablesmonitored 450 concerning the user.

For example, impairment detection process 10 may monitor 450 theforward-facing camera (i.e., the camera facing the user) included withinthe client electronic device to look for signs of impairment of the user(e.g., bloodshot eyes and/or dilated pupils). In response to detectingsuch signs of impairment, impairment detection process 10 may select 452a disrupter that is effective at detecting impairment. Impairmentdetection process 10 may then administer 454 an alertness test to theuser (regardless of whether or not to the user had previously taken analertness test).

Further, impairment detection process 10 may monitor 450 the clockincluded within the client electronic device to determine if the user(e.g., user 36, 38, 40, 42) has been working for an extended period oftime (e.g., 12 hours). In response to determining that the user has beenworking for an extended period of time, impairment detection process 10may select 452 a disrupter that is effective at detecting fatigue.Impairment detection process 10 may then administer 454 an alertnesstest to the user (regardless of whether or not to the user hadpreviously taken an alertness test).

Additionally, impairment detection process 10 may monitor 450 the GPSchipset included within the client electronic device to determine thelocation of the user (e.g., user 36, 38, 40, 42). In response todetermining that e.g., the user has moved from a lower-risk area to ahigher risk area within a factory, impairment detection process 10 mayselect 452 a disrupter that checks for the level of alertness requiredfor the higher risk area within the factory. Impairment detectionprocess 10 may then administer 454 an alertness test to the user(regardless of whether or not to the user had previously taken analertness test).

Geo-Fencing:

As discussed above, impairment detection process 10 may be configured toadminister various implementations of alertness test 100. Further andwhen administering alertness test 10, impairment detection process 10may: render a plurality of objects for use within alertness test 100being administered to a user (e.g., user 36, 38, 40, 42); render adisrupter (e.g., disrupter 232, 236) configured to distract the user;solicit a response from the user concerning the plurality of objects;receive the response from the user; and determine a result for the userbased (at least in part) upon the response received from the user.

Further and as discussed above, impairment detection process 10 may beconfigured to establish a baseline for each type of task that a user mayperform. For example, the same construction work may be required to havea higher level of alertness when operating a crane then when driving apickup truck. Additionally, different levels of alertness may berequired when performing the same task at different geographiclocations. For example, when a user (e.g., user 36, 38, 40, 42) isdriving a quarry dump truck within a strip mine, a first level ofalertness may be required. But when the same user is driving that samequarry dump truck on a public road to transport the quarry dump truckfrom one mining facility to another mining facility, the user may berequired to have a higher level of alertness.

Accordingly and referring also to FIG. 8, impairment detection process10 may administer 500 an alertness test (e.g., alertness test 100) on aclient electronic device (e.g., client electronic device 28, 30, 32, 34)to determine a result (e.g., result 102) for user (e.g., user 36, 38,40, 42), wherein result 102 may be indicative of a level of alertness ofthe user.

Impairment detection process 10 may determine 502 a location of theclient electronic device, thus defining a determined location. Forexample, impairment detection process 10 may monitor the GPS chipsetincluded within the client electronic device to determine 502 thelocation of the client electronic device. Alternatively, cell towertriangulation location methodologies or wifi signal strength locationmethodologies may be utilized to determine 502 the location of theclient electronic device. Impairment detection process 10 may then take504 remedial action if the level of alertness of the user isinsufficient for the user to perform a task at the determined locationof the client electronic device.

For example, impairment detection process 10 may determine 502 thelocation of the client electronic device (and, therefore, the locationof the user of the client electronic device) during the performance of aspecific task and determine whether remedial action needs to be taken504. Accordingly, assume that impairment detection process 10administers 500 alertness test 100 on a client electronic device (e.g.,client electronic device 28, 30, 32, 34) to determine if the user has asufficient level of alertness to (in this example) drive a quarry dumptruck within a mining facility. Further, assume that the user is deemedto have the requisite level of alertness by impairment detection process10.

Assume that the user performs the task of driving the quarry dump truckwithin the mining facility. Impairment detection process 10 may monitorthe location of the client electronic device (which may be includedwithin (or rigidly affixed to) the quarry dump truck) to determine 502 alocation for the client electronic device (thus defining a determinedlocation). As discussed above, impairment detection process 10 maymonitor a GPS chipset included within the client electronic device.

Continuing with the above-stated example, assume that it is subsequentlydetermined (e.g., through GPS tracking) that the user is now driving thequarry dump truck outside of the mining facility, which requires ahigher level of alertness (due to the enhanced level of risk) thatexceeds the level of alertness required for the user to drive the quarrydump truck inside the mining facility. Accordingly, impairment detectionprocess 10 may take 504 remedial action since the level of alertness ofthe user is insufficient for the user to perform the current task (e.g.,drive a quarry dump truck) at the determined location of the clientelectronic device (e.g., outside of the mining facility).

Examples of such remedial action may include but are not limited to:writing an entry into a log file (e.g., writing about the incident in apersonnel log file associated with the user), notifying a supervisor ofthe user (e.g., via automated voice call, text message or email that theuser does not have the appropriate level of alertness), sounding analarm (e.g., indicating that a deficient level of alertness situation isoccurring), disabling a piece of equipment being utilized by the user(e.g., disabling the quarry dump truck), and notifying the user thatthey need to take another alertness test.

Biometric Interface:

As discussed above, impairment detection process 10 may be configured toadminister various implementations of alertness test 100. Further andwhen administering alertness test 100, impairment detection process 10may: render a plurality of objects for use within alertness test 100being administered to a user (e.g., user 36, 38, 40, 42); render adisrupter (e.g., disrupter 232, 236) configured to distract the user;solicit a response from the user concerning the plurality of objects;receive the response from the user; and determine a result for the userbased (at least in part) upon the response received from the user.

Additionally, impairment detection process 10 may be configured tointerface with biometric device 130 so that result 102 of theabove-described alertness test (e.g., alertness test 100) may beadjusted (upward or downward) based upon biometric information 132provided by biometric device 130.

Accordingly and referring also to FIG. 9, impairment detection process10 may administer 550 an alertness test (e.g., alertness test 120) on aclient electronic device (e.g., client electronic device 28, 30, 32, 34)to determine a result (e.g., result 120) for a user (e.g., user 36, 38,40, 42), wherein result 120 may be indicative of a level of alertness ofthe user.

Impairment detection process 10 may receive 552 biometric information132 concerning the user from biometric device 130. Biometric information132 may concern one or more health aspects of the user such as: a pulserate of the user; a blood glucose level of the user; and a blood oxygenlevel of the user. Accordingly, examples of biometric device 130 mayinclude but are not limited to: a heart rate monitoring device, a bloodglucose monitoring device, and a blood oxygen monitoring device.Impairment detection process 10 may then adjust 554 the result for theuser based, at least in part, upon the biometric information.

For example, assume that impairment detection process 10 administers 550alertness test 120 on a client electronic device (e.g., clientelectronic device 28, 30, 32, 34) to determine if a user has therequisite level of alertness to fly a Boeing 737. Further assume thatimpairment detection process 10 determines that the user does indeedhave the requisite level of alertness. However, assume that impairmentdetection process 10 receives 552 biometric information 132 frombiometric device 130 (e.g., a blood glucose monitoring device) thatindicates that the blood glucose level of the user is 70 milligrams perdeciliter (i.e., 30 milligrams per deciliter below normal). Accordingly,while the user may currently have an acceptable level of alertness, theymay not in the immediate future, since the user may be deemedsusceptible to lightheadedness. Accordingly, impairment detectionprocess 10 may adjust 554 the result for the user downward based uponthis blood glucose reading and conclude that the user is not fit to fly(i.e., the user does not have the requisite level of alertness).

Cognitive Degeneration Tracking:

As discussed above, impairment detection process 10 may be configured toadminister various implementations of alertness test 100. Further andwhen administering alertness test 10, impairment detection process 10may: render a plurality of objects for use within alertness test 100being administered to a user (e.g., user 36, 38, 40, 42); render adisrupter (e.g., disrupter 232, 236) configured to distract the user;solicit a response from the user concerning the plurality of objects;receive the response from the user; and determine a result for the userbased (at least in part) upon the response received from the user.Further and as discussed above, impairment detection process 10 may beconfigured to calculate a baseline for a user (e.g., user 36, 38, 40,42) with respect to alertness test 100.

Accordingly and referring also to FIG. 10, impairment detection process10 may administer 600 a first alertness test (e.g., alertness test 100)to determine a first result (e.g., result 102) for a user (e.g., user36, 38, 40, 42), wherein this first result may be indicative of a firstlevel of alertness of the user at the time of the first alertness test.

Impairment detection process 10 may administer 602 at least a secondalertness test (e.g., alertness test 100) to determine at least a secondresult (not shown) for the user (e.g., user 36, 38, 40, 42), wherein theat least a second result may be indicative of at least a second level ofalertness of the user at the time of the at least a second alertnesstest.

Impairment detection process 10 may then compare 604 the first result(e.g., result 120) to the at least a second result (not shown) toidentify a level of cognitive decline for the user, wherein the level ofcognitive decline for the user may be indicative of a cognitive disorder(e.g., Delirium, Dementia, Amnesia).

For example, when comparing 604 the first result (e.g., result 120) tothe at least a second result (not shown) to identify a level ofcognitive decline for the user, impairment detection process 10 may:identify 606 a baseline (in the manner described above) for the userafter the administration of the first alertness test; modify 608 thebaseline (in the manner described above) for the user after theadministration of the at least a second alertness test; and determine610 a rate of change (e.g., a first order derivative) for the baselineto identify the level of cognitive decline for the user. For example, ifthe level of cognitive decline exceeds a certain percentage over a unittime, the user may be deemed to be suffering from a cognitive disorder.Additionally/alternatively and for users that have already beendiagnosed with a cognitive disorder, the rate of advancement of thecognitive disorder (and the long term cognitive performance) may bemonitored via impairment detection process 10.

Forward Circadian Projection:

As discussed above, impairment detection process 10 may be configured toadminister various implementations of alertness test 100. Further andwhen administering alertness test 10, impairment detection process 10may: render a plurality of objects for use within alertness test 100being administered to a user (e.g., user 36, 38, 40, 42); render adisrupter (e.g., disrupter 232, 236) configured to distract the user;solicit a response from the user concerning the plurality of objects;receive the response from the user; and determine a result for the userbased (at least in part) upon the response received from the user.Further and as discussed above, impairment detection process 10 may beconfigured to calculate a baseline for a user (e.g., user 36, 38, 40,42) with respect to alertness test 100.

As is known, a circadian rhythm is a roughly twenty-four hour cycle inthe physiological processes of living beings, including humans, plants,and animals. In a strict sense, circadian rhythms are endogenouslygenerated, although they can be modulated by external cues such assunlight and temperature, wherein these circadian rhythms generallydefines the sleep patterns and sleep needs of (in this example) a user.

Accordingly and referring also to FIG. 11, impairment detection process10 may administer 650 an alertness test (e.g., alertness test 100) on aclient electronic device (e.g., client electronic device 28, 30, 32, 34)to determine a result (e.g., result 120) for a user (e.g., user 36, 38,40, 42), wherein the result may be indicative of a level of alertness ofthe user.

Impairment detection process 10 may receive 652 circadian information134 concerning the user. As discussed above, circadian information 134may concern historical sleep patterns of the user. Circadian information134 may be based, at least in part, upon one or more of biometricinformation 132 obtained from biometric device 130, a questionnaire(e.g., an electronic survey) filled out by the user, and a work schedulefor the user. Impairment detection process 10 may then adjust 654 result120 for the user based, at least in part, upon circadian information134.

For example, assume that impairment detection process 10 administers 650alertness test 120 on a client electronic device (e.g., clientelectronic device 28, 30, 32, 34) to determine if a user has therequisite level of alertness to operate a crane. Further assume thatimpairment detection process 10 determines that the user does indeedhave the requisite level of alertness. However, assume that impairmentdetection process 10 receive 652 circadian information 134 thatindicates that the user almost always works a 6:00 a.m. to 6:00 p.m.shift and, therefore, it is understood that the user sleeps sometimebetween 6:00 p.m. and 6:00 a.m. Further assume that it is 10:00 p.m.and, therefore, it is likely that during the time the user would beoperating the crane, the user would typically be sleeping. Accordingly,while the user may currently have an acceptable level of alertness, theymay not in the immediate future, since the user may likely get tired ordrowsy. Accordingly, impairment detection process 10 may adjust 654result 120 for the user based, at least in part, upon circadianinformation 134 and conclude that the user is not fit to operate a crane(i.e., the user does not have the requisite level of alertness).

General

As will be appreciated by one skilled in the art, the present disclosuremay be embodied as a method, a system, or a computer program product.Accordingly, the present disclosure may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present disclosure may take the form of a computer program producton a computer-usable storage medium having computer-usable program codeembodied in the medium.

Any suitable computer usable or computer readable medium may beutilized. The computer-usable or computer-readable medium may be, forexample but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, device,or propagation medium. More specific examples (a non-exhaustive list) ofthe computer-readable medium may include the following: an electricalconnection having one or more wires, a portable computer diskette, ahard disk, a random access memory (RAM), a read-only memory (ROM), anerasable programmable read-only memory (EPROM or Flash memory), anoptical fiber, a portable compact disc read-only memory (CD-ROM), anoptical storage device, a transmission media such as those supportingthe Internet or an intranet, or a magnetic storage device. Thecomputer-usable or computer-readable medium may also be paper or anothersuitable medium upon which the program is printed, as the program can beelectronically captured, via, for instance, optical scanning of thepaper or other medium, then compiled, interpreted, or otherwiseprocessed in a suitable manner, if necessary, and then stored in acomputer memory. In the context of this document, a computer-usable orcomputer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited tothe Internet, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentdisclosure may be written in an object oriented programming languagesuch as Java, Smalltalk, C++ or the like. However, the computer programcode for carrying out operations of the present disclosure may also bewritten in conventional procedural programming languages, such as the“C” programming language or similar programming languages. The programcode may execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network/a widearea network/the Internet (e.g., network 14).

The present disclosure is described with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the disclosure. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, may be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer/special purposecomputer/other programmable data processing apparatus, such that theinstructions, which execute via the processor of the computer or otherprogrammable data processing apparatus, create means for implementingthe functions/acts specified in the flowchart and/or block diagram blockor blocks.

These computer program instructions may also be stored in acomputer-readable memory that may direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

The flowcharts and block diagrams in the figures may illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustrations,and combinations of blocks in the block diagrams and/or flowchartillustrations, may be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present disclosure has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the disclosure in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the disclosure. Theembodiment was chosen and described in order to best explain theprinciples of the disclosure and the practical application, and toenable others of ordinary skill in the art to understand the disclosurefor various embodiments with various modifications as are suited to theparticular use contemplated.

A number of implementations have been described. Having thus describedthe disclosure of the present application in detail and by reference toembodiments thereof, it will be apparent that modifications andvariations are possible without departing from the scope of thedisclosure defined in the appended claims.

What is claimed is:
 1. A computer-implemented method, executed on acomputing device, comprising: administering an alertness test on aclient electronic device to determine a result for a user, wherein theresult is indicative of a level of alertness of the user; receivingcircadian information concerning the user; and adjusting the result forthe user based, at least in part, upon the circadian information.
 2. Thecomputer-implemented method of claim 1 wherein administering thealertness test to the user includes: rendering a plurality of objectsfor use within the alertness test being administered to the user;rendering a disrupter configured to distract the user; soliciting aresponse from the user concerning the plurality of objects; receivingthe response from the user; and determining the result for the userbased, at least in part, upon the response received from the user. 3.The computer implemented method of claim 2 wherein the disrupterincludes one or more of: a visual disrupter; an audible disrupter; and aphysical disrupter.
 4. The computer-implemented method of claim 1wherein the circadian information concerns historical sleep patterns ofthe user.
 5. The computer-implemented method of claim 1 wherein thecircadian information is based, at least in part, upon biometricinformation obtained from a biometric device.
 6. Thecomputer-implemented method of claim 1 wherein the circadian informationis based, at least in part, upon a questionnaire.
 7. Thecomputer-implemented method of claim 1 wherein the circadian informationis based, at least in part, upon a work schedule for the user.
 8. Acomputer program product residing on a computer readable medium having aplurality of instructions stored thereon which, when executed by aprocessor, cause the processor to perform operations comprising:administering an alertness test on a client electronic device todetermine a result for a user, wherein the result is indicative of alevel of alertness of the user; receiving circadian informationconcerning the user; and adjusting the result for the user based, atleast in part, upon the circadian information.
 9. The computer programproduct of claim 8 wherein administering the alertness test to the userincludes: rendering a plurality of objects for use within the alertnesstest being administered to the user; rendering a disrupter configured todistract the user; soliciting a response from the user concerning theplurality of objects; receiving the response from the user; anddetermining the result for the user based, at least in part, upon theresponse received from the user.
 10. The computer program product ofclaim 9 wherein the disrupter includes one or more of: a visualdisrupter; an audible disrupter; and a physical disrupter.
 11. Thecomputer program product of claim 8 wherein the circadian informationconcerns historical sleep patterns of the user.
 12. The computer programproduct of claim 8 wherein the circadian information is based, at leastin part, upon biometric information obtained from a biometric device.13. The computer program product of claim 8 wherein the circadianinformation is based, at least in part, upon a questionnaire.
 14. Thecomputer program product of claim 8 wherein the circadian information isbased, at least in part, upon a work schedule for the user.
 15. Acomputing system including a processor and memory configured to performoperations comprising: administering an alertness test on a clientelectronic device to determine a result for a user, wherein the resultis indicative of a level of alertness of the user; receiving circadianinformation concerning the user; and adjusting the result for the userbased, at least in part, upon the circadian information.
 16. Thecomputing system of claim 15 wherein administering the alertness test tothe user includes: rendering a plurality of objects for use within thealertness test being administered to the user; rendering a disrupterconfigured to distract the user; soliciting a response from the userconcerning the plurality of objects; receiving the response from theuser; and determining the result for the user based, at least in part,upon the response received from the user.
 17. The computing system ofclaim 16 wherein the disrupter includes one or more of: a visualdisrupter; an audible disrupter; and a physical disrupter.
 18. Thecomputing system of claim 15 wherein the circadian information concernshistorical sleep patterns of the user.
 19. The computing system of claim15 wherein the circadian information is based, at least in part, uponbiometric information obtained from a biometric device.
 20. Thecomputing system of claim 15 wherein the circadian information is based,at least in part, upon a questionnaire.
 21. The computing system ofclaim 15 wherein the circadian information is based, at least in part,upon a work schedule for the user.